跳到主要内容

单位标记

单位标记以前叫单位行为限制。后来加的东西多了发现这个东西不仅仅用来做限制了,就改名了。这里说明一下,因为不排除有文档或代码漏改了,依然叫单位行为限制。

所有的单位标记都只有没有两种状态。但是每种单位标记都有引用计数,也就是说添加两次无敌的单位,需要删除两次无敌才能让单位不无敌。

但引用计数是不会小于0的,也就是说对不无敌的单位删除无敌,不会发生任何事情。

定身

单位无法移动,也无法进行主动运动

缴械

单位无法使用攻击技能

物免

单位无法成为攻击技能的目标,伤害结算中单位不会受到来自攻击技能的伤害。

禁魔

单位无法使用技能

魔免

单位无法成为技能的目标,伤害结算中单位不会受到来自技能的伤害。

免死

单位不会因为受到伤害而死亡。 在伤害结算中,单位因受到伤害而导致生命小于等于0时,有免死的单位不会死亡,而是把生命设置为0并且继续存活。

隐身

敌方玩家无法看到这个单位。

隐藏

所有玩家无法看到这个单位。

显影

使单位的隐身逻辑隐藏失效。

模型隐藏

不显示单位的模型,以及绑定的特效。 你看不到它,而游戏内的单位却可以看到。

逻辑隐藏

敌方玩家无法看到这个单位。和隐身不同的是,看不到只是从逻辑上看不到,而(人类)玩家还是可以看到这个单位的。

你可以看到它,而游戏内的单位却会对它视而不见。

飞行

单位的移动无视静态碰撞

幽灵

单位的移动无视动态碰撞

蝗虫

单位不会被选取器选中。

失控

单位会忽略所有客户端对其发布的命令。

天空

单位提供的视野无视视野阻挡

无敌

无敌等价于魔免+物免,实际实现上添加无敌就是添加了魔免物免。所以检查无敌单位是否物免和魔免,都会返回true。

无敌和魔免物免分别加一次的区别

对一个无敌单位使用技能,客户端会提示无法对无敌单位使用。而对魔免不无敌的单位,则是提示无法对魔免单位使用

选取器会对无敌单位做区别对待。

你自己的实现,可以判断是否有无敌(而不判物免、魔免),来区别对待。

免时停

使该单位豁免时间停止的效果。

被该单位创建的弹道也会隐式地一起获得豁免时间停止的效果(某个单位被免时停后创建一个弹道,该弹道也一样免时停)。

但是,当免时停被移除时,该单位创建的弹道不会被移除免时停效果。也就是说弹道一旦在免时停期间被打出去,就一定会被打完,即使后来别的单位又发动了时停。

如果单位A先创建了单位B,然后单位A被标记为免时停,那么单位B不会一起获得免时停效果。

虚空

该单位无视地形高度,它的高度不从地形高度开始而是从0开始,不影响碰撞判断